const axios = require('axios')

const request = axios.create({
    baseURL: '',
    timeout: 6000
})


// 第二步：添加请求拦截器
request.interceptors.request.use((config) => {
    console.log(config)
    return config
})


// 第三步：添加响应拦截器
request.interceptors.response.use(
    // 成功的回调函数
    (response) => {
        console.log('请求成功', response.data)
        return response.data
    },
    // 失败的回调函数
    (error) => {
        console.log('请求失败', error)
        let message = ''
        let status = error.response.status
        switch (status) {
            case 401:
                message = 'TOKEN过期';
                break;
            case 403:
                message = '无权访问';
                break;
            case 404:
                message = '请求地址错误';
                break;
            case 500:
                message = '服务器出现错误';
                break;
            default:
                message = '网络异常'
                break;
        }
        ElMessage({
            type: 'error',
            message: message
        })
        return Promise.reject(error)
    }
)

module.exports = request
